July 01, 2004

Mono official release

I would first like to congratulate Mono as this is a major technical achivement, one that has matured suprisingly fast.

There is a lot of talk of the software patents, that relate to Java and .NET. While I find software patents in general to be a Bad Thing there is a differnce between the ones on Java by Sun and the ones on .NET by Microsoft in that if you create a full Java implementation that passes their tests Sun not oly lets you use their Java copyrights but gives a full patent grant. Microsoft does not give any patent grants what so ever. More generic patents that are held by other companies applie to both equally.

Microsoft have submitted the core of .NET (not ADO.NET, ASP.NET, Winforms which are going to get replaced in Longhorn so don't matter as much) to the ECMA, a real standards body, which is a good thing, but there are still patents on this stuff and ECMA only requires that they be granted RAND. This is fine for Novel but not a complete free grant that is needed for Free Software.

Now should either company get nasty what can they do? Well with Java Sun can do nothing it has already given you a patent grant and use of it's copyright. It can't take that back unless you break the agreement with them by breaking Java, e.g. changing the bytecode, adding keywords to the language, or adding packages to the java.* package as Microsoft did when they tried to break Java. As the aim is compatability with Java this won't happen anyway. Microsoft can try to use their patents against you but they would fail as Java is itself prior art, as it was released before .NET, and there are several weathy corporations (IBM, Sun, Oracle and BAE) that will fight and attempt as it would lead to there investment in Java being compromised.

With .NET if Sun sues you then Microsoft will come to your aid and might win, there will probably be some prior art somewhere given the nature ofsoftware patents. But if Microsoft sues you, then you have problems as you have not been given any rights to use there interlectual property and would not have any wealthy backers capable of fighting for you. The only realistic option would be to pay for a license at monopoly rent prices.

Now lets look at the likelyhood of them getting nasty. Well we all know Microsoft will if they see it is in there interest. They have already shown they will do anything to destroy their competitors, and Free Software is their primary competitor. At the moment Mono serves to help entice people into using .NET, which will always work better on Windows as this is what it wa designed for, and therefore moving towards Windows servers. Should it prove to entice people from Windows servers to Linux ones, as Mono hopes, it is highly likely they will attack.

Sun on the other hand is a hardware company, the software thing is something they do but is not core to them. They don't care what platform you program for so long as it runs of their servers, either the Sparc/Solaris ones at the high end or X86/Linux ones at the low end. They have nothing to gain from attacking people for implementing Java so long as it really is Java and comptible with every other Java implementation. More developers means more people to buy it's servers. In fact if it can get other people to implement Java for it for free to run on it's servers then all the better as that is money that it does not have to spend.

Both technologies have major problems for Free Software. Microsoft has form for using whatever means that it has to crush it's competition (legal or illegal), whereas Sun is not in a particually good financial position and may get desperate in future. At the moment neither should be used as the heart of a major peice of Free Software the stack, as Ximian seems to want to do by using it in Gnome, but as an extra compatability interface both are good and useful.


Post a Comment

<< Home